<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>UniMRCP: mpf_engine.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">UniMRCP
   &#160;<span id="projectnumber">1.5.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_6719ab1f1f7655efc2fa43f7eb574fd1.html">libs</a></li><li class="navelem"><a class="el" href="dir_342be8fa773ff0594874056fe107febd.html">mpf</a></li><li class="navelem"><a class="el" href="dir_3c1f389eca1f441ba1c98a8d099f902a.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">mpf_engine.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Media Processing Framework Engine.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="apt__task_8h_source.html">apt_task.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="mpf__message_8h_source.html">mpf_message.h</a>&quot;</code><br/>
</div>
<p><a href="mpf__engine_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:afc3f78b408c2ca06d325f61f6b7dc5cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#afc3f78b408c2ca06d325f61f6b7dc5cd">mpf_engine_create</a> (const char *id, apr_pool_t *pool)</td></tr>
<tr class="separator:afc3f78b408c2ca06d325f61f6b7dc5cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb1d0b66d1d0eef6c37e9cb3d2ad5cfe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mpf__types_8h.html#ad6f919372c33491b81bb675a70310112">mpf_codec_manager_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#acb1d0b66d1d0eef6c37e9cb3d2ad5cfe">mpf_engine_codec_manager_create</a> (apr_pool_t *pool)</td></tr>
<tr class="separator:acb1d0b66d1d0eef6c37e9cb3d2ad5cfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4448bb59db579bd07aaae5fc2e357fef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#a4448bb59db579bd07aaae5fc2e357fef">mpf_engine_codec_manager_register</a> (<a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine, const <a class="el" href="mpf__types_8h.html#ad6f919372c33491b81bb675a70310112">mpf_codec_manager_t</a> *codec_manager)</td></tr>
<tr class="separator:a4448bb59db579bd07aaae5fc2e357fef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf3bb8f96e9564e10a5f70bbef7c5667"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#aaf3bb8f96e9564e10a5f70bbef7c5667">mpf_engine_context_create</a> (<a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine, const char *name, void *obj, apr_size_t max_termination_count, apr_pool_t *pool)</td></tr>
<tr class="separator:aaf3bb8f96e9564e10a5f70bbef7c5667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ea060e49c1818a26e423c8b4d65fcdb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#a4ea060e49c1818a26e423c8b4d65fcdb">mpf_engine_context_destroy</a> (<a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *context)</td></tr>
<tr class="separator:a4ea060e49c1818a26e423c8b4d65fcdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a3e81789376cf88f63ce1b0ef92500c"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#a5a3e81789376cf88f63ce1b0ef92500c">mpf_engine_context_object_get</a> (const <a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *context)</td></tr>
<tr class="separator:a5a3e81789376cf88f63ce1b0ef92500c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f5a5628e47c76a6471491b330d2f45f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt__task_8h.html#a1b5b1eaf9cb77eaab758e6a79e1469c7">apt_task_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#a6f5a5628e47c76a6471491b330d2f45f">mpf_task_get</a> (const <a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine)</td></tr>
<tr class="separator:a6f5a5628e47c76a6471491b330d2f45f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade5e1cbad8e86d201bf605c40c29a62c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#ade5e1cbad8e86d201bf605c40c29a62c">mpf_engine_task_msg_type_set</a> (<a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine, <a class="el" href="apt__task__msg_8h.html#a942b0deee9eb1489f0c309014d7f8822">apt_task_msg_type_e</a> type)</td></tr>
<tr class="separator:ade5e1cbad8e86d201bf605c40c29a62c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2da8ecdfb5faf875b1786a0228c47f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#ac2da8ecdfb5faf875b1786a0228c47f8">mpf_engine_termination_message_add</a> (<a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine, <a class="el" href="mpf__message_8h.html#a3310401d5255c00fc2ff633f9b32789b">mpf_command_type_e</a> command_id, <a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *context, <a class="el" href="structmpf__termination__t.html">mpf_termination_t</a> *termination, void *descriptor, <a class="el" href="mpf__engine_8h.html#a81e6a97ee527d564de4541c96afe923f">mpf_task_msg_t</a> **task_msg)</td></tr>
<tr class="separator:ac2da8ecdfb5faf875b1786a0228c47f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a1de996f91b11ad3640e51a51f1c54d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#a3a1de996f91b11ad3640e51a51f1c54d">mpf_engine_assoc_message_add</a> (<a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine, <a class="el" href="mpf__message_8h.html#a3310401d5255c00fc2ff633f9b32789b">mpf_command_type_e</a> command_id, <a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *context, <a class="el" href="structmpf__termination__t.html">mpf_termination_t</a> *termination, <a class="el" href="structmpf__termination__t.html">mpf_termination_t</a> *assoc_termination, <a class="el" href="mpf__engine_8h.html#a81e6a97ee527d564de4541c96afe923f">mpf_task_msg_t</a> **task_msg)</td></tr>
<tr class="separator:a3a1de996f91b11ad3640e51a51f1c54d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a809ab27bf1b6d8c38de81b3b8ba2c9a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#a809ab27bf1b6d8c38de81b3b8ba2c9a5">mpf_engine_topology_message_add</a> (<a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine, <a class="el" href="mpf__message_8h.html#a3310401d5255c00fc2ff633f9b32789b">mpf_command_type_e</a> command_id, <a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *context, <a class="el" href="mpf__engine_8h.html#a81e6a97ee527d564de4541c96afe923f">mpf_task_msg_t</a> **task_msg)</td></tr>
<tr class="separator:a809ab27bf1b6d8c38de81b3b8ba2c9a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d5d4cc403cca50753e237290194b99a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#a5d5d4cc403cca50753e237290194b99a">mpf_engine_message_send</a> (<a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine, <a class="el" href="mpf__engine_8h.html#a81e6a97ee527d564de4541c96afe923f">mpf_task_msg_t</a> **task_msg)</td></tr>
<tr class="separator:a5d5d4cc403cca50753e237290194b99a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea759eea5acc5b3f2bb2e9d3ab031066"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#aea759eea5acc5b3f2bb2e9d3ab031066">mpf_engine_scheduler_rate_set</a> (<a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine, unsigned long rate)</td></tr>
<tr class="separator:aea759eea5acc5b3f2bb2e9d3ab031066"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a835bec4cc314c7cecfc9c489e125cb39"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#a835bec4cc314c7cecfc9c489e125cb39">mpf_engine_id_get</a> (const <a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *engine)</td></tr>
<tr class="separator:a835bec4cc314c7cecfc9c489e125cb39"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a81e6a97ee527d564de4541c96afe923f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="apt_8h.html#ad3d792bfc75893affad257781ea46e55">APT_BEGIN_EXTERN_C</a> typedef <br class="typebreak"/>
<a class="el" href="structapt__task__msg__t.html">apt_task_msg_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="mpf__engine_8h.html#a81e6a97ee527d564de4541c96afe923f">mpf_task_msg_t</a></td></tr>
<tr class="separator:a81e6a97ee527d564de4541c96afe923f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Media Processing Framework Engine. </p>
<p>Factory of Media Processing Engines.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a3a1de996f91b11ad3640e51a51f1c54d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> mpf_engine_assoc_message_add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__message_8h.html#a3310401d5255c00fc2ff633f9b32789b">mpf_command_type_e</a>&#160;</td>
          <td class="paramname"><em>command_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmpf__termination__t.html">mpf_termination_t</a> *&#160;</td>
          <td class="paramname"><em>termination</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmpf__termination__t.html">mpf_termination_t</a> *&#160;</td>
          <td class="paramname"><em>assoc_termination</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__engine_8h.html#a81e6a97ee527d564de4541c96afe923f">mpf_task_msg_t</a> **&#160;</td>
          <td class="paramname"><em>task_msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create task message(if not created) and add MPF association message to it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine task message belongs to </td></tr>
    <tr><td class="paramname">command_id</td><td>the MPF command identifier </td></tr>
    <tr><td class="paramname">context</td><td>the context to add association of terminations for </td></tr>
    <tr><td class="paramname">termination</td><td>the termination to associate </td></tr>
    <tr><td class="paramname">assoc_termination</td><td>the termination to associate </td></tr>
    <tr><td class="paramname">task_msg</td><td>the task message to create and add constructed MPF message to </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acb1d0b66d1d0eef6c37e9cb3d2ad5cfe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mpf__types_8h.html#ad6f919372c33491b81bb675a70310112">mpf_codec_manager_t</a>* mpf_engine_codec_manager_create </td>
          <td>(</td>
          <td class="paramtype">apr_pool_t *&#160;</td>
          <td class="paramname"><em>pool</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create MPF codec manager. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pool</td><td>the pool to allocate memory from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4448bb59db579bd07aaae5fc2e357fef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> mpf_engine_codec_manager_register </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="mpf__types_8h.html#ad6f919372c33491b81bb675a70310112">mpf_codec_manager_t</a> *&#160;</td>
          <td class="paramname"><em>codec_manager</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Register MPF codec manager. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine to register codec manager for </td></tr>
    <tr><td class="paramname">codec_manager</td><td>the codec manager to register </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aaf3bb8f96e9564e10a5f70bbef7c5667"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a>* mpf_engine_context_create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_size_t&#160;</td>
          <td class="paramname"><em>max_termination_count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_pool_t *&#160;</td>
          <td class="paramname"><em>pool</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create MPF context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine to create context for </td></tr>
    <tr><td class="paramname">name</td><td>the informative name of the context </td></tr>
    <tr><td class="paramname">obj</td><td>the external object associated with context </td></tr>
    <tr><td class="paramname">max_termination_count</td><td>the max number of terminations in context </td></tr>
    <tr><td class="paramname">pool</td><td>the pool to allocate memory from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4ea060e49c1818a26e423c8b4d65fcdb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> mpf_engine_context_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Destroy MPF context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>the context to destroy </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5a3e81789376cf88f63ce1b0ef92500c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* mpf_engine_context_object_get </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get external object associated with MPF context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>the context to get object from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afc3f78b408c2ca06d325f61f6b7dc5cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a>* mpf_engine_create </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_pool_t *&#160;</td>
          <td class="paramname"><em>pool</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create MPF engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">id</td><td>the identifier of the engine </td></tr>
    <tr><td class="paramname">pool</td><td>the pool to allocate memory from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a835bec4cc314c7cecfc9c489e125cb39"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* mpf_engine_id_get </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the identifier of the engine . </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine to get name of </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5d5d4cc403cca50753e237290194b99a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> mpf_engine_message_send </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__engine_8h.html#a81e6a97ee527d564de4541c96afe923f">mpf_task_msg_t</a> **&#160;</td>
          <td class="paramname"><em>task_msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send MPF task message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine to send task message to </td></tr>
    <tr><td class="paramname">task_msg</td><td>the task message to send </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aea759eea5acc5b3f2bb2e9d3ab031066"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> mpf_engine_scheduler_rate_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned long&#160;</td>
          <td class="paramname"><em>rate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set scheduler rate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine to set rate for </td></tr>
    <tr><td class="paramname">rate</td><td>the rate (n times faster than real-time) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ade5e1cbad8e86d201bf605c40c29a62c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mpf_engine_task_msg_type_set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="apt__task__msg_8h.html#a942b0deee9eb1489f0c309014d7f8822">apt_task_msg_type_e</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set task msg type to send responses and events with. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine to set task msg type for </td></tr>
    <tr><td class="paramname">type</td><td>the type to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac2da8ecdfb5faf875b1786a0228c47f8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> mpf_engine_termination_message_add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__message_8h.html#a3310401d5255c00fc2ff633f9b32789b">mpf_command_type_e</a>&#160;</td>
          <td class="paramname"><em>command_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmpf__termination__t.html">mpf_termination_t</a> *&#160;</td>
          <td class="paramname"><em>termination</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>descriptor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__engine_8h.html#a81e6a97ee527d564de4541c96afe923f">mpf_task_msg_t</a> **&#160;</td>
          <td class="paramname"><em>task_msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create task message(if not created) and add MPF termination message to it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine task message belongs to </td></tr>
    <tr><td class="paramname">command_id</td><td>the MPF command identifier </td></tr>
    <tr><td class="paramname">context</td><td>the context to add termination to </td></tr>
    <tr><td class="paramname">termination</td><td>the termination to add </td></tr>
    <tr><td class="paramname">descriptor</td><td>the termination dependent descriptor </td></tr>
    <tr><td class="paramname">task_msg</td><td>the task message to create and add constructed MPF message to </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a809ab27bf1b6d8c38de81b3b8ba2c9a5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ac7b6d8df47829d778eb598e1cc52cc2a">apt_bool_t</a> mpf_engine_topology_message_add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__message_8h.html#a3310401d5255c00fc2ff633f9b32789b">mpf_command_type_e</a>&#160;</td>
          <td class="paramname"><em>command_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__types_8h.html#a0502335f53c0ade91ae1e08f072c72ad">mpf_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mpf__engine_8h.html#a81e6a97ee527d564de4541c96afe923f">mpf_task_msg_t</a> **&#160;</td>
          <td class="paramname"><em>task_msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create task message(if not created) and add MPF topology message to it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine task message belongs to </td></tr>
    <tr><td class="paramname">command_id</td><td>the MPF command identifier </td></tr>
    <tr><td class="paramname">context</td><td>the context to modify topology for </td></tr>
    <tr><td class="paramname">task_msg</td><td>the task message to create and add constructed MPF message to </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6f5a5628e47c76a6471491b330d2f45f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt__task_8h.html#a1b5b1eaf9cb77eaab758e6a79e1469c7">apt_task_t</a>* mpf_task_get </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="mpf__types_8h.html#ad09bd8504c5367e458c1d0d19b4aa17e">mpf_engine_t</a> *&#160;</td>
          <td class="paramname"><em>engine</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get task. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">engine</td><td>the engine to get task from </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a81e6a97ee527d564de4541c96afe923f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="apt_8h.html#ad3d792bfc75893affad257781ea46e55">APT_BEGIN_EXTERN_C</a> typedef <a class="el" href="structapt__task__msg__t.html">apt_task_msg_t</a> mpf_task_msg_t</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>MPF task message definition </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2017 10:11:48 for UniMRCP by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
